package com.gdssoft.pdaweb.service.am;

import java.util.Date;
import java.util.List;
import com.gdssoft.core.service.BaseService;
import com.gdssoft.framework.model.system.AppUser;
import com.gdssoft.pdaweb.model.am.AmMonthPlanRead;
import com.gdssoft.pdaweb.model.am.AmPlan;



public interface AmPlanService extends BaseService<AmPlan>{
	/**
	 * 执行计划方法
	 * @param planId
	 * @param beginTime2
	 * @param endTime2
	 * @param username
	 * @return 
	 */
	public boolean execute(long planId,Date beginTime2,Date endTime2,String username);
	
	/**
	 * 查询所有电表抄表员
	 * @param deps 部门列表
	 * @return
	 */
	public List<AppUser> getExecutor(String deps);
 
	/**
	 * 
	 * @param waterMeterPlan
	 * @param amIds
	 * @param removeds
	 * @return
	 * @throws Exception 
	 */
	public AmPlan save(AmPlan amPlan, String[] amIds,String[] removeds) throws Exception;

	/**
	 * 根据planId 获取该电表抄表计划包含的电表编号
	 * @param planId
	 * @return
	 */
	public List<String> getByPlanId(Long planId);
	
	/**
	 * 根据日期，planId获取对应的计划任务
	 */
	public List<AmMonthPlanRead> getPlanTask(long planId,String month);
	
	/**
	 * 获取该抄表计划是抄的哪个月的读数
	 * @param accountDay
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	public String getThisMonth(int accountDay, Date beginTime, Date endTime);
}
